package com.ruoyi.system.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 流程关联节点业务对象 lc_node_audit
 *
 * @author ruoyi
 * @date 2023-07-25
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class LcNodeAuditBo extends BaseEntity {

    /**
     * id
     */
    @NotNull(message = "id不能为空", groups = { EditGroup.class })
    private Long nodeId;

    /**
     * 流程id
     */
    @NotNull(message = "流程id不能为空", groups = { EditGroup.class })
    private Long processId;

    /**
     * 流程(0:流程1:节点)
     */
    @NotNull(message = "流程(0:流程1:节点)不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer type;

    /**
     * 开始节点
     */
    @NotNull(message = "开始节点不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long isStartType;

    /**
     * 节点key
     */
    @NotBlank(message = "节点key不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nodeKey;

    /**
     * 节点名称
     */
    @NotBlank(message = "节点名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nodeName;

    /**
     * 节点描述
     */
    @NotBlank(message = "节点描述不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nodeDescription;

    /**
     * 责任单位
     */
    @NotBlank(message = "责任单位不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nodeUnit;
    /**
     * 责任单位
     */
    @NotBlank(message = "责任单位不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nodeUnits;

    /**
     * 责任岗位
     */
    @NotBlank(message = "责任岗位不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nodeJob;

    /**
     * 时间要求
     */
    @NotBlank(message = "时间要求不能为空", groups = { AddGroup.class, EditGroup.class })
    private String nodeTimeRequirement;

    /**
     * 合规风险提示json
     */
    @NotBlank(message = "合规风险提示json不能为空", groups = { AddGroup.class, EditGroup.class })
    private String complianceJson;

    /**
     * 节点表单json
     */
    @NotBlank(message = "节点表单json不能为空", groups = { AddGroup.class, EditGroup.class })
    private String formJson;

    /**
     * 制度文件json
     */
    @NotBlank(message = "制度文件json不能为空", groups = { AddGroup.class, EditGroup.class })
    private String systemJson;

    /**
     * 关联流程json
     */
    @NotBlank(message = "关联流程json不能为空", groups = { AddGroup.class, EditGroup.class })
    private String processJson;

    /**
     * 审批人设置json
     */
    @NotBlank(message = "审批人设置json不能为空", groups = { AddGroup.class, EditGroup.class })
    private String approverJson;

    /**
     * 状态（0正常 1停用）
     */
    @NotBlank(message = "状态（0正常 1停用）不能为空", groups = { AddGroup.class, EditGroup.class })
    private String status;

    private String processVersion;


}
